تبلیغات
موضوعات
جستجو
پیوندهای روزانه
لینک دوستان
- دریافت رایگان این قالب
- سایت عاشقانه ماندگار فان
- سایت عاشقانه عشق آفرین
- جامعه رادیو اماتوری ایران
- سازمان تنظيم مقررات و ارتباطات راديوئي
- شرکت اروم الکترونیک
- فروشگاه قطعات الكترونيكي
- ARRL • Devoted Entirely to Amateur Radio
- درددل های یک بازنشسته
- نخستین سایت آموزشی رادیو آماتوری در ایران
- نشریات آماتوری
- EP2MRD
- QRZCQ - The database for radio hams
- شناسه تخصيص نحوه دستورالعمل ايستگاه به ارتباط راديويي هاي ) Call Sign ( دستورالعمل ارتباط شناسه تخصيص نحوه ايستگاه به راديويي
- رادیو آماتوری
- کلوپ رادیو آماتوری ایرانیان
- ارسال لینک
صفحات جانبی
امکانات جانبی
آمار وب سایت:
بازدید دیروز : 2184
بازدید هفته : 2690
بازدید ماه : 26898
بازدید کل : 1881322
تعداد مطالب : 673
تعداد نظرات : 121
تعداد آنلاین : 1
معرفی میکروکنترلر
http://www.centralclubs.com/pic16f84-t47611.html
توسط robotic » دوشنبه 1 مهر 1387 20:56
يك ميكرو كنترلر چيست؟
ميكرو كنترولر در واقع يك كامپيوتر تك تراشه اي ارزانقيمت ميباشد . كامپيوتر تك تراشه اي بدين معني است كه كل سيستم كامپيوتر در داخل تراشه مدار مجتمع جاي داده شده است . نخستين ويژگي ميكروكنترلر قابليت ذخيره سازي و اجراي برنامه است ( كه مهمترين ويژگي آن به شمار ميرود) . ميكرو كنترلر داراي يك CPU (واحد پردازشگر مركزي ) ، حافظه RAM ، حافظه ROM ، خطوط I/O ، (خطوط ورودي و خروجي ) ، درگاهاي سريال و موازي و زمان سنج است و برخي اوقات نيز شامل ادوات جانبي نظير مبدل A/D (مبدل آنالوگ به ديجيتال ) و مبدل D/A (مبدل ديجيتال به آنالوگ ميباشد .
چرا از ميكروكنترلر استفاده ميشود ؟
همان گونه كه قبلا توضيح داده شد ميكروكنترلر ها ، كامپيوتر هاي ارزانقيمت هستند . قابليت ذخيره سازي و اجراي برنامه هاي منحصر به فرد ، موجب شده است تا ميكرو كنترلر ها بسيار انعطاف پذير شوند . به عنوان مثال شخص ميتواند ميكروكنترلر را به گونه اي برنامه ريزي كند كه بر اساس شرايط از پيش تعيين شده (وضعيت خطوط ورودي و خروجي )، تصميم گيري نمايد . قابليت انجام عمليات رياضي و منطقي موجب شده است تا ميكرو كنترلر بتواند عملكرد مدارهاي منطقي پيچيده و مدارهاي الكترونيكي را تقليد كند.
برنامه هاي ديگر ميتوانند موجب شوند كه ميكرو كنترلر مشابه يك مدار در شبكه عصبي و يا به صورت يك كنترل كننده با منطق فازي عمل كند . ميكروكنترلر ها وظيفه هوش مصنوعي را در دستگاهاي مربوط به "حسابهاي هوشمند " در فروشگاهها بر عهده دارند.
آينده الكترونيك مختص ميكرو كترلر ها ميباشند :
اگر به مجله هاي الكترونيكي كه در كشورمان و در ساير كشورها چاپ ميشوند توجه كنيد مقاله هايي را مشاهده خواهيد كرد كه در طراحي مدارهاي آنها به طور مستقيم و يا به صورت تركيبي از ميكروكنترلر ها استفاده شده است . ميكروكنترلر ها به دليل انعطاف پذيري زيادي كه دارند با صرف هزينه اندك ميتوانند قدرت زياد ، كنترل و انتخابهاي مختلفي را ارائه كنند . به همين دليل است كه مهندسين الكترونيك و افرادي كه علاقه مند به كارهاي الكترونيكي هستند برنامه ريزي ميكروكنترلر ها را فر ميگيرند تا از مزاياي ميكروكنترلر ها در مدارات خود بهره ببرند و سطح كيفي مدار خود را در حد بالايي حفظ كنند .
اگر دستگاهاي الكترونيكي خانگي را بررسي كنيد خواهيد ديد كه از ميكروكنترلر ها تقريبا در تمامي آنها استفاده شده . اين نيز دليل ديگري براي آشنايي با ميكروكنترلر هاست .
سير تكاملي ميكرو كنترلر ها :
اولين ميكزوكنترلر ها در اواسط دهه 1970 ساخته شدند . اين ميكروكنترلر ها در ابتدا پردازنده هاي ماشين حساب بودند كه داراي حافظه برنامه كوچكي از نوع Rom ، حافظه داده بسيار محدود از نوع RAM و تعدادي درگاه ورودي خروجي بودند.
با توسعه فناوري سيليكن ، ميكروكنترلرهاي 8 بيتي قويتري ساخته شدند در اين ميكرو كنترلرها علاوه بر بهينه شدن دستور العمل ها تايمر/ شمارنده روي تراشه ، امكانات وقفه و كنترل بهينه شده خطوط I/O نيز به آنها اضافه شده است.
خانواده 8051 در اوايل دهه 1980 توسط شركت اينتل معرفي گرديد و از آن زمان 8051 به عنوان يكي از محبوبترين ميكروكنترلر ها بوده و بسياري از شركت هاي ديگر نيز به توليد آن اقدام كردند . امكاناتي نظير مبدل آنالوگ به ديجيتال ، حجم نسبتا بزرگ از حافظه برنامه و حافظه داده ، مدولاتور عرض پالس (PWM) در خروجي ها و حافظه فلش كه امكان پاك كردن و برنامه ريزي مجدد آن توسط سيگنال هاي الكتريكي وجود دارد ،در آن تعبيه شده است .
با توجه به اهميت و گسترش روز افزون كاربردهاي ميكرو كنترلر ها و محدوديت هائي كه ميكرو كنترلر ها ي خانواده MCS51 ايجاد ميكرد . شركت Microchip نسل جديدي از ميكرو كنترلر ها با عنوان PIC به بازار عرضه كرد . با توجه به قابليت بسيار زياد اين ميكروكنترلرها ، به سرعت مورد استقبال قرار گرفت و تحول بزرگي در استفاده از ميكروكنترلر ها ايجاد كرد .
كلمه PIC سرنام كلمات Programmable Interface Controller ميباشد كه شركت Microchip Technology آن را به عنوان علامت تجاري بر گزيده و از آن براي مشخص كردن ميكرو كنترلر هاي خود استفاده ميكند
ميكروكنترلرهاي خانواده PIC از معماري هاردوارد استفاده ميكنند . اين بدان معنا است كه كل حافظه به دو قسمت تقسيم شده است . كه عبارتند از : حافظه داده و حافظه برنامه .
مزيت اين معماري آن است كه ميتوان به هر دو بخش حافظه در يك دستورالعمل دسترسي داشت .
اغلب PIC ها داراي سه بلاك حافظه داخلي ميباشند :
۱_ Data memory : كه اين حافظه به Bank0 و Bank1 و ... تقسيم ميشوند .هر بانك شامل حافظه RAM معمولي (general purpose register) و ريجيستر هاي مخصوص (status,intcon,option,…) مي باشد.
2_ Eeprom memory : يكي از تفاوت هاي اصلي ميكروهاي گذشته مثل سري 8051 با PIC و AVR ، همين حافظه ميباشد. اين حافظه تقريبا بينابين RAM و ROM از نظر كاربرد ميباشد . اين حاظه به صورتي است كه ميتوان در حين برنامه نويسي ، اطلاعات را در آن ذخيره يا پاك كرد (RAM) واطلاعات آن در صورت قطعي برق نيز پاك نمي شود (ROM) . نسيت به RAM و ROM داراي سرعت به مراتب پايين تر ميباشد .
3_Program memory : برنامه اي كه توسط كاربر نوشته ميشود . در اين حافظه LOAD ميشود . به عنوان مثال PIC16F877 (40 پين) داراي پروگرام كانتر 13 بيتي براي آدرس دهي كردن Flash program memory به حجم (8k*14bit) ميباشد .
PIC ها از لحاظ نوع Program memory به 4 دسته تقسيم ميشوند .
1) Flash Program Memory
مزيت اين گونه PIC ها سرعت نسبتا بالاي خواندن اطلاعات از ROM و درنتيجه سرعت بالاتر اجراي عمليات ميباشد . حافظه هاي فلش موجب گرديده تا سرعت اجراي برنامه از 12 كلاك در 8051 به 4 كلاك در PIC و 1 كلاك در AVR كاهش يابد .
خانواده هايي كه نام IC داراي F باشد داراي اين گونه حافظه ميباشند (مانند 16F84 , 16F877.....) .
2) Eprom program memory
خانواده هايي كه نام IC داراي C يا CE باشد.(16C84)
3)Rom Program Memory
خانواده هايي كه نام IC داراي CR باشد (16CR84)
4) Eeprom Program Memory
همچنين بعضي از PIC ها نيز داراي رنج ولتاژي گسترده ميباشند كه داراي مشخصه Lدر نام IC مي باشد.(PIC16LF84)
ما در اين بيشتر در مورد ميكروهاي نوع اول بررسي ميكنيم ( يعني همان Flash Program Memory ها).
در بحث آينده در مورد ويژگي هاي PIC 16F84 صحبت خواهد شد و ولي قبل از آن توصيه ميكنم به DATA SHEET اين IC مراجعه كنيد و خودتان اطلاعاتي را در مورد آن كسب كنيد .
در صفحه اول Data Sheet شماي كلي و وضعيت پايه ها و ويژگيهاي كلي نوشته شده و در صفحات بعدي در مورد چگونگي كاربرد آن ( فعلا توصيه ميكنم صفحه اول اين Data Sheet را مطالعه كنيد )
اطلاعاتي كه Data Sheet دراختار ما قرار ميدهد :
در ابتدا PIC هاي از اين خانواده كه داراي ويژگي هاي يكسان ميباشند معرفي شده است .
درقسمت بعد مشخصه هاي CPU كه در اين ميكرو از نوع RISC (Reduce Instruction Set Computer )ميباشد گفته شده :
داراي 32 دستور العمل يك كلمه اي ميباشد (تعداد دستورات نسبت به ميكرو هاي ديگر به مراتب كمتر)
همه دستورالعمل ها در يك سيكل ( 4 Clock) اجرا ميشود .(سرعت آن 1.5 برابر 8051 با كريستال يكسان )
در قسمت بعد حداكثر فركانس كاري را 10MHz مشخص نموده است .
طبق جدول تراشه PIC16F84 داراي 1k كلمه (word) ( عرض هر كلمه برابر 14bit ) حافظه برنامه Flash ، 68 bytes حافظه داده (RAM) و 64 bytes حافظه Eeprom ميباشد . (در مورد اين حافظه ها ميتوانيد به قسمت قبل سر بزنيد ) .
پهناي هر دستورالعمل (flash program memory) 14 بيت و پهناي داده (data memory) 8 بيت ميباشد.
15*8 bits به ثبات داخلي ميكرو براي انجام عمليات هاي خاص (SFR)مانند option و Statuse و TMR0 و ..... تعبيه گرديده است و 8*8 bits جهت حافظه پشته (stack) (در قسمت بعد در مورد اين گونه حافظه ها توضيح داده خواهد شد ) .
داراي 4 منبع وقفه ميباشد (در اين مورد نيز در قسمت وقفه كامل توضيح داده خواهد شد ):
قابليت 1000 بار خواندن و نوشتن حافظه flash
قابليت 10.000.000 بار خواندن و نوشتن حافظه Eeprom
قابليت 40 سال نگهداري اطلاعات Eeprom
مشخصات جانبي :
داراي 13 پايه ورودي خروجي (دو درگاه ورودي- خروجي به نام A با 5 پايه و B با 8 پايه ) ، هر پين ورودي خروجي داراي مدار Latch ميباشد ، يعني هر بيت اطلاعات كه از طريق ميكرو به عنوان خروجي به پورت ريخته ميشود روي پورت باقي ميماند تا وقتي كه اطلاعات جديد روي آن ريخته شود . همچنين اگر هر بيت اطلاعات به عنوان ورودي روي پورت ها ريخته شود تا وقتي اطلاعات جديد وارد نگردد تغيير نميكند .
اغلب PIC ها در پورت B داراي pull up داخلي ضعيف ميباشند ( اين بدان معنا هست كه پايه ورودي با يك مقاومت پر اهم به Vcc متصل شده ) . بيت هفتم از رجيستر OPTION_REG مربوط به pull up ميباشد . اگر اين بيت صفر باشد pull up فعال ميشود و اگر يك باشد pull up غير فعال ميگردد. وقتي پايه اي به عنوان خروجي تعريف گردد pull up آن خود به خود غير فعال ميشود .
بيشترين جريان كه هر پايه ميتواند بدهد 20 mA است كه ميتواند يك LED را مستقيما روشن نمايد.
بيشترين جرياني كه ميتواند دريافت كند 25 mA ميباشد .
تايمر/كانتر 8 بيت (در اين مورد نيز بعدا مفصلا توضيح داده خواهد شد )
در قسمت بعد از خصوصيات برتر اين ميكرو كنترلر توضيح داده شده كه مهمترين آن محدوده ولتاژ كار ميكرو را بين 2تا 6 ولت مشخص نموده است و توان مصرفي ميكرو را در حالت هاي مختلف بيان نموده كه به شرح زير است :
با ولتاژ 5 ولت و فركانس 4MHz ، 2 ميلي آمپر
با ولتاژ 2 ولت با فركانس 32kHz ، 15 ميكرو آمپر
و در حالت Standby و ولتاژ 2 ولت ، 1 ميكرو آمپر
اين اطلاعاتي بود كه از صفحه اول data sheet ميكرو استخراج شده است كه در قسمت هاي بعد در مورد بعضي از قسمتهايي كه در برنامه نويسي به آنها احتياج داريم صحبت خواهيم كرد .
در قسمت آينده در مورد ثباتها و درگاه هاي ورودي و خروجي صحبت ميكنيم و تقريبا از قسمت آينده برنامه نويسي شروع خواهد شد .
معرفی پایه های میکرو PIC 16F84